package 集合的补充知识.Collection系列集合的小结;

public class Test {
    public static void main(String[] args) {
        // 如何在开发中选择集合

        // 1. 如果希望记住元素的添加顺序, 需要存储重复的元素, 又要频繁的根据索引查询数据?
        // 用ArrayList集合(有序, 可重复, 有索引), 底层基于数组. (常用)

        // 2. 如果希望记住元素的添加顺序, 且增删首位数据的情况较多?
        // 用LinkedList集合(有序, 可重复, 有索引), 底层基于双链表实现的

        // 3. 如果不在意元素顺序, 也没有重复元素需要存储, 只希望增删改查都快?
        // 用HashSet集合(无序, 不重复, 无索引), 底层基于哈希表实现的.(常用)

        // 4. 如果希望记住元素的添加顺序, 也没有重复元素需要存储, 且希望增删查改都快?
        // 用LinkedHashSet集合(有序, 不重复, 无索引), 底层基于哈希表和双链表.

        // 5. 如果要对元素进行排序, 也没与重复元素需要存储? 且希望增删查改都快?
        // 用TreeSet集合()(排序, 不重复, 无索引), 基于红黑树实现
    }
}
